{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\"covid_19_data.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['ObservationDate'] = pd.to_datetime(data['ObservationDate'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['SNo', 'ObservationDate', 'Province/State', 'Country/Region',\n",
       "       'Last Update', 'Confirmed', 'Deaths', 'Recovered'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.drop(['Country/Region','Last Update','SNo','Province/State'],axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ObservationDate</th>\n",
       "      <th>Confirmed</th>\n",
       "      <th>Deaths</th>\n",
       "      <th>Recovered</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>14.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>285302</th>\n",
       "      <td>2021-05-02</td>\n",
       "      <td>96531.0</td>\n",
       "      <td>1919.0</td>\n",
       "      <td>78700.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>285303</th>\n",
       "      <td>2021-05-02</td>\n",
       "      <td>26045.0</td>\n",
       "      <td>233.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>285304</th>\n",
       "      <td>2021-05-02</td>\n",
       "      <td>1344.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1322.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>285305</th>\n",
       "      <td>2021-05-02</td>\n",
       "      <td>84641.0</td>\n",
       "      <td>1597.0</td>\n",
       "      <td>68529.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>285306</th>\n",
       "      <td>2021-05-02</td>\n",
       "      <td>359327.0</td>\n",
       "      <td>4138.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>285307 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       ObservationDate  Confirmed  Deaths  Recovered\n",
       "0           2020-01-22        1.0     0.0        0.0\n",
       "1           2020-01-22       14.0     0.0        0.0\n",
       "2           2020-01-22        6.0     0.0        0.0\n",
       "3           2020-01-22        1.0     0.0        0.0\n",
       "4           2020-01-22        0.0     0.0        0.0\n",
       "...                ...        ...     ...        ...\n",
       "285302      2021-05-02    96531.0  1919.0    78700.0\n",
       "285303      2021-05-02    26045.0   233.0        0.0\n",
       "285304      2021-05-02     1344.0     1.0     1322.0\n",
       "285305      2021-05-02    84641.0  1597.0    68529.0\n",
       "285306      2021-05-02   359327.0  4138.0        0.0\n",
       "\n",
       "[285307 rows x 4 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = data.groupby(['ObservationDate']).agg({'Confirmed':'sum','Deaths':'sum','Recovered':'sum'}).reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "temp = df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ObservationDate</th>\n",
       "      <th>Confirmed</th>\n",
       "      <th>Deaths</th>\n",
       "      <th>Recovered</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>557.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>30.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-01-23</td>\n",
       "      <td>1097.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-01-24</td>\n",
       "      <td>941.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>39.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-01-25</td>\n",
       "      <td>1437.0</td>\n",
       "      <td>42.0</td>\n",
       "      <td>42.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-01-26</td>\n",
       "      <td>2118.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>462</th>\n",
       "      <td>2021-04-28</td>\n",
       "      <td>149622864.0</td>\n",
       "      <td>3150675.0</td>\n",
       "      <td>86843039.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>463</th>\n",
       "      <td>2021-04-29</td>\n",
       "      <td>150520466.0</td>\n",
       "      <td>3165665.0</td>\n",
       "      <td>87550355.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>464</th>\n",
       "      <td>2021-04-30</td>\n",
       "      <td>151399480.0</td>\n",
       "      <td>3180238.0</td>\n",
       "      <td>88236951.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>465</th>\n",
       "      <td>2021-05-01</td>\n",
       "      <td>152196159.0</td>\n",
       "      <td>3192583.0</td>\n",
       "      <td>88919401.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>466</th>\n",
       "      <td>2021-05-02</td>\n",
       "      <td>152502340.0</td>\n",
       "      <td>3199106.0</td>\n",
       "      <td>89311961.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>467 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    ObservationDate    Confirmed     Deaths   Recovered\n",
       "0        2020-01-22        557.0       17.0        30.0\n",
       "1        2020-01-23       1097.0       34.0        60.0\n",
       "2        2020-01-24        941.0       26.0        39.0\n",
       "3        2020-01-25       1437.0       42.0        42.0\n",
       "4        2020-01-26       2118.0       56.0        56.0\n",
       "..              ...          ...        ...         ...\n",
       "462      2021-04-28  149622864.0  3150675.0  86843039.0\n",
       "463      2021-04-29  150520466.0  3165665.0  87550355.0\n",
       "464      2021-04-30  151399480.0  3180238.0  88236951.0\n",
       "465      2021-05-01  152196159.0  3192583.0  88919401.0\n",
       "466      2021-05-02  152502340.0  3199106.0  89311961.0\n",
       "\n",
       "[467 rows x 4 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x23e6f63d2c8>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(15, 5))\n",
    "plt.plot(temp['ObservationDate'], temp['Recovered'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### temp stores the date and recover num"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = temp.filter(['Recovered'])\n",
    "dataset = data.values\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "scaler = MinMaxScaler(feature_range=(0,1))\n",
    "scaled_data = scaler.fit_transform(dataset)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "training_data_len = int(np.ceil( len(dataset) * .8 ))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "374"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "training_data_len"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data = scaled_data[0:int(training_data_len), :]\n",
    "# Split the data into x_train and y_train data sets\n",
    "x_train = []\n",
    "y_train = []\n",
    "\n",
    "for i in range(30, len(train_data)):\n",
    "    x_train.append(train_data[i-30:i, 0])\n",
    "    y_train.append(train_data[i, 0])       "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = np.asarray(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(344, 30, 1)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = x.reshape(x.shape[0],30,1)\n",
    "x.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(344, 1)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y = np.asarray(y_train)\n",
    "y = y.reshape(y.shape[0],1)\n",
    "y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "344/344 [==============================] - 6s 9ms/step - loss: 0.0068\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x23e7dfb4908>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, LSTM\n",
    "\n",
    "# Build the LSTM model\n",
    "model = Sequential()\n",
    "model.add(LSTM(128, return_sequences=True, input_length=30, input_dim=1))\n",
    "model.add(LSTM(64, return_sequences=False))\n",
    "model.add(Dense(25))\n",
    "model.add(Dense(1))\n",
    "\n",
    "# Compile the model\n",
    "model.compile(optimizer='adam', loss='mean_squared_error')\n",
    "\n",
    "# Train the model\n",
    "model.fit(x, y, batch_size=1, epochs=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data = scaled_data[training_data_len - 30: , :]\n",
    "# Create the data sets x_test and y_test\n",
    "x_test = []\n",
    "y_test = dataset[training_data_len:, :]\n",
    "#y_test = y_test.reshape(1, y_test.shape[0])\n",
    "for i in range(30, len(test_data)):\n",
    "    x_test.append(test_data[i-30:i, 0])\n",
    "    \n",
    "# Convert the data to a numpy array\n",
    "x_test = np.array(x_test)\n",
    "x_test = np.reshape(x_test, (x_test.shape[0], x_test.shape[1], 1 ))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(93, 30, 1)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(93, 1)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4520989.052654962"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get the models predicted price values \n",
    "predictions = model.predict(x_test)\n",
    "predictions = scaler.inverse_transform(predictions)\n",
    "\n",
    "# Get the root mean squared error (RMSE)\n",
    "rmse = np.sqrt(np.mean(((predictions - y_test) ** 2)))\n",
    "rmse"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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u+++m3fffZfCwkIOHjxIZmYm9957b3uhCrBs2bL2dW6//XbmzZvHpZdeymOPPcacOXN48skn2+NcvXo1ixcvZs6cOSxdupT58+fzgx/8gNtuu42WlhZ8vhNfKdgZThau/YBdIT9XABM6djLGfBf4LsCAAQMiE9kpiPfEkJoQ2J1tl1m2nesKveryaNvx+hzt3NbWsY8JthwzbodlfGndY78v/Pgd+hwTtznOOoF5jDEYY4gxgc8xJjCeJ+Zo24mWB5aF9j3azxNjjr88pq2fOWbcmM4sjwmNxxxn3GOXJ8bHBAtVD3Eeo0tqRURERKRLNTY2cu655wKBM67f+c53eP/99xk/fjyFhYUAvPXWW5SWlvLKK68AUFtby/bt23n33XeZMWMGHo+H/Px8Lr/88i+N/+GHHzJp0qT2sTIzM08YT21tLTU1NVx66aUA3HHHHdx8883ty6dOnQrAeeedR3l5OQATJ07k8ccfp6KigqlTp5722VZwtnANd8T/pXNw1toFwAKA4uJi156ju/PiQu68uNDpMEREREREpAt09sxoVwu9xzVUSkpK+2drLfPmzWPKlCnH9Fm8ePFXnlix1nbpyZeEhAQg8FApr9cLwK233sqECRN44403mDJlCk899VTYIvpkOHk9YgXQP+TnAqDSoVhERERERESiwpQpU/j9739Pa2vgdYXbtm2joaGBSZMmsWjRInw+H3v27GHFihVfWnfixIm88847fP755wAcPHgQgLS0NOrq6r7UPz09nYyMDN577z0AXnjhhfazr8ezY8cOioqKuP/++7nuuusoLS09re0FZ8+4rgHOMsYUAruBW4BbHYxHRERERETE9e666y7Ky8sZN24c1lpycnL4y1/+wo033sjy5csZM2YMQ4cODVtg5uTksGDBAqZOnYrf7yc3N5e3336ba6+9lmnTpvHXv/6VefPmHbPOwoUL2x/OVFRUxLPPPnvC+F5++WVefPFF4uLi6Nu3L4899thpb7Pp+PCfSDLGfB14ksDrcJ6x1j5+ov7FxcV27dq1EYlNRERERER6li1btjBixAinw+gRwu1rY8xH1tricP0dfY+rtXYxsNjJGERERERERMTd9M4NERERERERcTUVriIiIiIiIuJqKlxFRERERESCnHwGUE9xKvtYhauIiIiIiAiQmJhIdXW1itczyFpLdXU1iYmJ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\n",
      "text/plain": [
       "<Figure size 1152x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train = dataset[:training_data_len]\n",
    "valid = dataset[training_data_len:]\n",
    "#predictions\n",
    "# Visualize the data\n",
    "plt.figure(figsize=(16,6))\n",
    "plt.title('Model')\n",
    "plt.xlabel('Date', fontsize=18)\n",
    "plt.ylabel('Recovered', fontsize=18)\n",
    "plt.plot(temp['ObservationDate'][:374], temp['Recovered'][:374])\n",
    "plt.plot(temp['ObservationDate'][374:], valid)\n",
    "plt.plot(temp['ObservationDate'][374:], predictions)\n",
    "plt.legend(['Train', 'Val', 'Predictions'], loc='lower right')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
